﻿#include<iostream>
#include"htd.h"
int htd::height{ 12 };
void htd::test() {
	std::cout << htd::height;
}
namespace htd {
	extern int height{ 23 };
	void htd::test() {
		std::cout << htd::height;
	}
}

namespace {//解决函数与其他源文件冲突的问题，与其他源文件互不干涉
	void THack() {
		std::cout << "Thack!\n";
	}
}

namespace hack = htd::hack;//命名空间别名

namespace t {
	int value;
}
namespace t {//命名空间拓展
	int e{ 24 };//定义
	extern int r;//声明，需要C++17标准
}
const int p{};//全局命名空间
extern int a;
int main() {
	t::value = 255;
	THack();
	int p = 20;
	std::cout << p;//20
	std::cout << ::p;//0，通过全局命名空间访问extern int a
	htd::test();
}